<!DOCTYPE html>
<html>
<head lang="en">
    <meta charset="UTF-8">
    <title></title>
</head>
<body>
<script>
//1> 差分等差数列
//    1, 2, 4, 7, 11, 16, ...
    function func1(n) {
        if(n == 1) return 1;
        return func1(n-1)+n-1;
    }
    console.log(func1(6));

// 2> 求阶乘
//      5! => 5 * 4 * 3 * 2 * 1
//      n! => n * ( n - 1 ) * ( n - 2 ) * ... * 1
    function func2(n){
        if(n == 1) return 1;
        return func2(n-1)*n
    }
    console.log(func2(5));


// 3> 求 幂
//      pow( a, b ): a 的 b 次方
//      Math.pow( ... )
    function pow(a,b) {
        if( b === 0 ) return 1;
        return pow(a,b-1)*a;
    }
    console.log(pow(2, 10));
// 4> Fibonacci 数列
//      1, 1, 2, 3, 5, 8, 13, ...
    function func4(n) {
        if(n==0||n==1) return 1;
        return func4(n-1)+func4(n-2);
    }
</script>
</body>
</html>